
--------------------------------- TEMPLEMON -----------------------------------
 
                   Copyright (C) 1986, Thomas Tempelmann
  Thomas Tempelmann, Nordendstr. 64, D-8000 Mnchen 40, West Germany

-------------------------------------------------------------------------------
The versions 1.xx of TEMPLEMON may be considered Freeware and can be freely
copied under the following condition:
TEMPLEMON.PRG must be in a folder named TEMPLEMON when a copy is made for
others. The files READ.ME and INSTRUCT.TXT must be included in the folder.
-------------------------------------------------------------------------------

           TEMPLEMON short command summary /Version 1.20/  11/12/90

Call Templemon by pressing CONTROL + HELP!

NOTE: All values are displayed/entered in hexadecimal.

 "!" is the monitor's prompt.
 <f> stands for first address.
 <e> stands for the first excluded address (roughly expressed - ending
       address). <e> can optionally be replaced with X<n> (n = number of bytes)
       and in some cases with Z<n> (n = number of lines to be displaed). The
       ending address can be replaced with a "." (i.e. "M 1000.") when used
       in the functions "M", "D" and "I" to achieve an open-ended listing.
       The contents of a register may also be used in place of an address using
       "R" as a prefix followed by the register (i.e. "D R PC.").
 Decimal values can be entered with "&<value>".
 The value of any register can be entered with "R<register>".
 The plus- and minus-signs can be used to build expressions (i.e. "M RA0+2").
 Any address can be prefixed with the offset-variable "O" (i.e. "M O24E.").
       See the "O <offs>" command later in the overview for information on
       setting the offset-variable.
 The prefix "P" indirects the following address. E.g, "P84" will mean the long
       value standing at address $84 (points to the TRAP #1 handler).
       "P RA0-4" mean the value standing at address <Reg A0 minus 4>. Use
       brackets to exclude following expressions: "(P RA0)-4" will load the
       value where Reg A0 points to and then subtracts four.
 All output to the screen can be stopped and restarted with the /SPACE/ key
       or aborted with any other key.
 Try out the F1 and F2 keys! F1 displays the monitor, while F2 displays the
       original screen (TEMPLEMON uses its own screen to protect the original).

M  <f> <e>              Memory dump (byte size).
MW <f> <e>              Memory dump (word size).
ML <f> <e>              Memory dump (longword size).
:  <f> <b1> <b2>...     Store bytes <b..> starting at <f>.
:W <f> <b1> <b2>...     Store words...
:L <f> <b1> <b2>...     Store longwords...
D <f> <e>               Disassemble an area of memory.
O <offs>                Set the offset variable "O" to the value <offs>.
C <f> <e> <d>           Copy bytes from <f>..<e>-1 to <d>..<d>+(<e>-<f>).
V <f> <e> <d>           Verify bytes (see "C" function for range information).
H <f> <e> <b1> <b2>...  Hunt (search for bytes). Use "?" as joker.
H <f> <e> '<string>     Hunt (search for string). Use "?" as joker.
F <f> <e> <b1> <b2>...  Fill memory with bytes. Use "?" as joker.
F <f> <e> '<string>     Fill memory with a string. Use "?" as joker.
I <f> <e>               ASCII dump.
' <f> /SPACE/ <string>  Store ASCII-characters (bytes) into memory
B                       Display all breakpoints
B<n> <a>                Set breakpoint number <n> to address <a>
B-                      Clear all breakpoints
G <f>                   Leave TEMPLEMON and continue execution at address <f>
                        (NOTE: <f> is optional).
GS <f>                  Call a subroutine at <f>, then return to TEMPLEMON.
T+                      Trace-mode on.
T-                      Trace-mode off.
  NOTE: If Trace-mode is on a "G"-function will not execute directly, but
  will wait for one of the following keys:
    /SPACE/ for executing displayed instruction
    /ESC/   to enter monitor commands (enter "G" to continue tracing).
    /O/     to execute without display (stops only at breakpoints or when
            ALT/HELP is pressed).
    /R/     to return from a subroutine (execute without display until return)
    /A/     similar to "O", but forces all instructions to be traced. All
            Traps can be traced and breakpoints can even be checked in ROM.
            (NOTE: Trace will be disabled while the interrupt-mask is set to
            6 or 7, or the system-variable $43E (flock) is non-zero.)
    /F/     similar to "O", but the program will run with full speed (no
            tracing).
    /D/     disassembles next instructions.
    /B/     sets breakpoint at next or displayed line. You can use this command
            whenever you want to skip over a subroutine call or a loop:
            If the next line looks like "JSR <address>", simply press "B" then
            "F" (or "O") and the subroutine will be called without having to
            trace it step by step. If you want to skip over a loop, press "D"
            several times until you have displayed a line behind the loop. Then
            press "B" and "F" (or "O") and you will get behind the loop.

R <reg1> <reg2>...      Show selected registers (D0-A7,SR or F,PC,SSP,USP).
R <reg> = <l>           Store longword <l> into register <reg>.
R F<SR-flag> = <v>      Sets flag <SR-Flag> to value <v> (i.e. "R FC=0" to
                        clear the carry-flag).
R: <reg1> <reg2>...     Set register-default-display (i.e. for Trace).
R                       Show all registers.
RS                      Saves all registers
RR                      Restores all saved registers.
P                       Clear screen (output a form feed).
S <filename>,<f> <e>    Saves memory to a file named <filename>
P <filename>            Open a protocol file. All outputs will be send to the
                        file (i.e. "P PRN:" sends output to printer).
PC                      Closes an opened protocol file.
Q                       Quit ( calls Pterm0() ).
VI                      Vector init. Re-inits exception vectors trapped by
                        the monitor. Displays only vectors that didn't point
                        to Templemon any more. Then the old, overwritten,
                        value will be printed, too.
& <dec>                 Calculates the hex value from the given decimal value.
? <v1> <op> <v2>        Operates the two values with the operator (+, -, *, /,
                        A (and), O (or), E (eor)) and prints the result.

All system/exception vectors modified by TEMPLEMON are notified with the
XBRA-ID "TMon".

TEMPLEMON also works with the overscan modification (larger screen resolution
for less than $10). This and some other extensions were implemented by
  Johannes Hill, Alicenstr. 30, D-6100 Darmstadt 1, West Germany
Thanks a lot!

I hope that you will find TEMPLEMON useful and that your bug-swatting
problems are eased by my monitor.

  Thomas Tempelmann               E-mail:
  Nordendstr. 64                          GEnie: T.TEMPELMANN
  D-8000 Mnchen 40                       BIX:   'tempel'
  West Germany                            CIS:   72377,351
